import hashlib


class StringUtil:
    """处理字符串工具类"""

    @staticmethod
    def get_safe_html(html_str):
        """得到安全的HTML代码：主要用于过滤前端传过来的富文本数据"""
        # 要判断不正确的数据： ''  None 不是字符串
        if html_str == '' or html_str is None or type(html_str) is not str:
            return ''

        # 处理正确的数据：
        # 1：将<script> 替换为 '' 或者替换为 js代码开始
        # 2: 将</script>    替换为 '' 或者替换为 js代码结束
        # 3：将&lt;script&gt; 替换为 '' 或者替换为 js代码开始
        # 4: 将&lt;/script&gt; 替换为 '' 或者替换为 js代码结束
        if '<script>' in html_str:
            html_str = html_str.replace('<script>', '<js代码开始>')

        if '</script>' in html_str:
            html_str = html_str.replace('</script>', '</js代码结束>')

        if '&lt;script&gt;' in html_str:
            print("要进行替换")
            html_str = html_str.replace('&lt;script&gt;', '<js代码开始>')

        if '&lt;/script&gt;' in html_str:
            html_str = html_str.replace('&lt;/script&gt;', '</js代码结束>')
        return html_str

    @staticmethod
    def get_password_sha256(origin_password):
        """获取sha246加密的密码"""
        sha256 = hashlib.sha256(origin_password.encode('utf8'))
        return sha256.hexdigest()

    @staticmethod
    def get_password_md5(origin_password):
        """获取md5加密的密码"""
        md5 = hashlib.md5()
        md5.update(origin_password.encode('utf8'))
        return md5.hexdigest()


if __name__ == '__main__':
    password = StringUtil.get_password_sha256('lxgzhw')
    print(password)
    print(len(password))
